package c03.thread.api.join;

import lombok.extern.slf4j.Slf4j;
import util.Sleeper;

/**
 * 多线程下的同步模式
 */
@Slf4j(topic = "c.JoinAndSleepTest1")
public class JoinAndSleepTest1 {
    static int r = 0;

    public static void main(String[] args) throws InterruptedException {
        log.debug("********main start ********");
        Thread t1 = new Thread(() -> {
            log.debug("--------- t1 start --------");
            Sleeper.sleep(1);
            log.debug("--------- t1 end ----------");
            r = 10;
        });

        t1.start();
        t1.join(); // 等待线程t1运行结束
        log.debug("static int r = {}", r); // 如果没有调用t1.join()，该行会立即执行，不会等待t1运行结束
        log.debug("******** main end ********");
    }
}